// import * as echarts from 'echarts'
import { useEffect, useRef } from 'react'
import { getSimpleData } from '@/api/echarts'

// 引入 echarts 核心模块，核心模块提供了 echarts 使用必须要的接口。
import * as echarts from 'echarts/core'
// 引入柱状图图表，图表后缀都为 Chart
import { BarChart } from 'echarts/charts'
// 引入提示框，标题，直角坐标系，数据集，内置数据转换器组件，组件后缀都为 Component
import {
  TitleComponent,
  TooltipComponent,
  GridComponent
} from 'echarts/components'
// 标签自动布局、全局过渡动画等特性
import { LabelLayout, UniversalTransition } from 'echarts/features'
// 引入 Canvas 渲染器，注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
import { CanvasRenderer } from 'echarts/renderers'

// 注册必须的组件
echarts.use([
  TitleComponent,
  TooltipComponent,
  GridComponent,
  BarChart,
  LabelLayout,
  UniversalTransition,
  CanvasRenderer
])

export default function Echarts () {
  const echartRef = useRef<HTMLDivElement | null>(null)

  const initEcharts = async () => {
    const res = await getSimpleData()
    // 基于准备好的dom，初始化echarts实例
    const myChart = echarts.init(echartRef.current)

    // 绘制图表
    myChart.setOption({
      title: {
        text: 'XXX 公司的销量图'
      },
      tooltip: {},
      xAxis: {
        data: res.data.map(item => item.name)
      },
      yAxis: {},
      series: [
        {
          name: '销量',
          type: 'bar',
          data: res.data.map(item => item.value)
        }
      ]
    })
  }
  useEffect(() => {
    initEcharts()
  }, [])

  return <div ref={echartRef} style={{ width: '80%', height: '80%' }}></div>
}
